﻿using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Web;
using LarDosIdosos.Business;
using LarDosIdosos.Properties;

namespace LarDosIdosos.DataSources
{
    public class DataSourceEntrada
    {
        public List<Business.Model.EntradaProduto> BuscaEntradaListaPaginada(int startrowindex, int maximumrows, string sortexpression, object sql)
        {
            DBEstoque dbEntrada = new DBEstoque(Settings.Default.StringDeConexaoComBanco);
            List<Business.Model.EntradaProduto> listDoacao = dbEntrada.SelectEntradaList(sql.ToString());
            return listDoacao;
        }

        public int TotalDeEntrada(object sql)
        {
            DBEstoque dbEntrada = new DBEstoque(Settings.Default.StringDeConexaoComBanco);
            return dbEntrada.Count(sql.ToString());
        }

        public Business.Model.EntradaProduto BuscaEntrada(int codigo_entrada_produto)
        {
            DBEstoque dbEntrada = new DBEstoque(Settings.Default.StringDeConexaoComBanco);
            string sql =
                string.Format(
                    "select * from entrada_produto,produto,unidade_de_medida,tipo_produto,funcionario where entrada_produto.codigo_entrada = {0} and produto.Codigo_Produto = entrada_produto.Produto_Codigo_Produto and unidade_de_medida.codigo_unidade_de_medida = produto.unidade_de_medida_codigo_Unidade_de_Medida and tipo_produto.codigo_tipo_produto = produto.tipo_produto_codigo_tipo_produto", codigo_entrada_produto);
            return dbEntrada.Select(sql);
        }

        public int InsertEntrada(Business.Model.EntradaProduto estoque)
        {
            DBEstoque dbEntrada = new DBEstoque(Settings.Default.StringDeConexaoComBanco);
            string sql = string.Format("insert into entrada_produto (idoso_codigo_idoso, parceiro_codigo_parceiro, produto_codigo_produto, quantidade_entrada, Is_Doacao, funcionario_codigo_funcionario, data_entrada) VALUES ('{0}','{1}','{2}','{3}',{4},'{5}','{6}')", estoque.Idoso.Codigo_Idoso, estoque.Parceiro.Codigo_Parceiro, estoque.Produto.Codigo_Produto, estoque.Quantidade, estoque.Is_Doacao, estoque.FuncionarioEntradaProduto.Codigo_Funcionario, estoque.Data_Entrada.ToString("yyyy-MM-dd HH:MM:ss"));
            return dbEntrada.Insert(sql);
        }
    }
}